package com.cds.drizzt.utils;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

@Component
@Slf4j
public class DateTimeFormat {
    public static final String DATE_TIME_FORMAT="yyyy-MM-dd HH:mm:ss";

    public static final String DATE_FORMAT="yyyy-MM-dd";

    /**
     * 格式化LocalDateTime日期时间
     * @param formatType
     * @param localDateTime
     * @return
     */
    public String getLocalDateTimeFormat(String formatType, LocalDateTime localDateTime){
        // 1. 定义日期时间格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(formatType);
        // 2. 格式化日期时间
        String formattedDateTime = localDateTime.format(formatter);

        return formattedDateTime;
    }
    /**
     * 格式化ZonedDateTime日期时间
     * @param formatType
     * @param zonedDateTime
     * @return
     */
    public String getZoneDateTimeFormat(String formatType, ZonedDateTime zonedDateTime){
        // 1. 定义日期时间格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(formatType);
        // 2. 带时区的格式化日期时间
        ZonedDateTime shanghaiTime = ZonedDateTime.now(ZoneId.of("Asia/Shanghai"));
        String formattedShanghaiTime = shanghaiTime.format(formatter);
        return formattedShanghaiTime;
    }
}
